var MAX = 200;

$(document).ready(function()
{
	$(".submit").click(function(e) {
		if(!validate())
		{
			e.preventDefault();
			alert("Preencha corretamente os campos.");			
		}
	});
	$(".nome").blur(function() {
		validateEmptyField("nome", "nome_validator", "Campo Obrigatório");
	});
	$(".email").blur(function() {
		return validateEmptyField("email", "email_validator", "Campo Obrigatório")
			&& validateEmail("email", "email_validator", "Email inválido");
	});
	$(".mensagem").blur(function() {
		validateEmptyField("mensagem", "mensagem_validator", "Campo Obrigatório");
	});
	$(".mensagem").keyup(function() {
		validateMensagemSize("mensagem", "mensagem_validator", "Máximo de 200 caracteres", MAX);
	});
});


function validateEmptyField(fieldClass, errorBoxClass, erro)
{
	if($("." + fieldClass).val() == "")
	{
		$("." + errorBoxClass).text(erro);
		return false;
	}
	else if($("." + errorBoxClass).text() == erro)
		$("." + errorBoxClass).text("");	
	return true;
}

function validateEmail(fieldClass, errorBoxClass, erro)
{
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	if(!emailReg.test($("." + fieldClass).val()))
	{
		$("." + errorBoxClass).text(erro);
		return false;
	}
	else if($("." + errorBoxClass).text() == erro)
		$("." + errorBoxClass).text("");
	return true;
	
}

function validateMensagemSize(fieldClass, errorBoxClass, erro, max)
{
	if($("." + fieldClass).val().length > max)
	{
		$("." + errorBoxClass).text(erro);
		return false;
	}
	else if($("." + errorBoxClass).text() == erro)
		$("." + errorBoxClass).text("");
	return true;	
}

function validate()
{ 
	return validateEmptyField("nome", "nome_validator", "Campo Obrigatório") &&
		validateEmptyField("email", "email_validator", "Campo Obrigatório") &&
		validateEmail("email", "email_validator", "Email inválido") &&
		validateEmptyField("mensagem", "mensagem_validator", "Campo Obrigatório") &&
		validateMensagemSize("mensagem", "mensagem_validator", "Máximo de 200 caracteres", MAX);
}

